﻿using System.Collections.Generic;
using Red.Core;

namespace Red.Controls.TimeLine.Commands
{
    public class TimeLineCommands
    {
        public static RedCommand AddTrack = new RedCommand( "Add track", "appbar_star_add" );
        public static RedCommand AddTracksGroup = new RedCommand( "Add tracks group", "appbar_star_add" );
        public static RedCommand AddTrackDialog = new RedCommand( "Add track", "appbar_star_add" );
        public static RedCommand DeleteTrack = new RedCommand( "Remove track", "appbar_star_add" );
        public static RedCommand RenameTrack = new RedCommand( "Rename", "appbar_star_add" );
        public static RedCommand GroupSelectedTracks = new RedCommand( "Group tracks", "appbar_star_add" );
        public static RedCommand UngroupSelectedTracks = new RedCommand( "Ungroup tracks", "appbar_star_add" );

        public static RedCommand AddGroup = new RedCommand( "Add group", "appbar_star_add" );
        public static RedCommand DeleteGroup = new RedCommand( "Delete group", "appbar_star_add" );

        public static RedCommand CreateSector = new RedCommand( "Create sector", "appbar_star_add" );
        public static RedCommand DeleteSector = new RedCommand( "Delete sector", "appbar_star_add" );
        public static RedCommand ActivateSector = new RedCommand( "Activate sector", "appbar_star_add" );
        public static RedCommand DeactivateSector = new RedCommand( "Deactivate sector", "appbar_star_add" );

        public static RedCommand AddEvent = new RedCommand( "Add event", "appbar_star_add" );
        public static RedCommand AddPointEvent = new RedCommand( "Add point event", "appbar_star_add" );
        public static RedCommand AddDurationEvent = new RedCommand( "Add duration event", "appbar_star_add" );
        public static RedCommand DeleteEvent = new RedCommand( "Delete event", "appbar_star_add" );

        /*
        public static IEnumerable<RedCommand> TracksRootItemCommands { get; private set; }
        public static IEnumerable<RedCommand> TracksGroupItemCommands { get; private set; }
        public static IEnumerable<RedCommand> TrackItemCommands { get; private set; }
        public static IEnumerable<RedCommand> SectorsRootCommands { get; private set; }
        public static IEnumerable<RedCommand> SectorCommands { get; private set; }
        public static IEnumerable<RedCommand> EventCommands { get; private set; }
        
        static TimeLineCommands()
        {
            TracksRootItemCommands = new List<RedCommand>()
            {
                AddTrack,
                AddTracksGroup,
                DeleteTrack
            };

            TracksGroupItemCommands = new List<RedCommand>()
            {
                AddTrack,
                DeleteTrack
            };

            TrackItemCommands = new List<RedCommand>()
            {
                AddEvent,
                DeleteEvent
            };

            SectorsRootCommands = new List<RedCommand>()
            {
                CreateSector,
                DeleteSector
            };
            
            SectorCommands = new List<RedCommand>()
            {
                ActivateSector,
                DeactivateSector
            };

            EventCommands = new List<RedCommand>()
            {
                DeleteEvent
            };
        }
        */
    }
}
